package com.yixun.lbx.service;

import com.yixun.entity.DiQu;
import com.yixun.lbx.entity.YxProCompany;
import org.apache.ibatis.annotations.Param;

import java.util.HashMap;
import java.util.List;

public interface CompanyService {
    /**
     * @param map todo
     * @return java.util.List<com.yixun.lbx.entity.YxProCompany>
     * @apiNote getListByPage 获取公司信息列表 分页查询
     */
    List<YxProCompany> getListByPage(HashMap<String, String> map);

    /**
     * @return java.lang.Integer
     * @apiNote CompanyCount 公司总数
     */
    Integer CompanyCount();

    /**
     * @param company todo
     * @return com.yixun.lbx.entity.YxProCompany
     * @apiNote getCompanyByIdOrNameOrCode
     */
    YxProCompany getCompanyByIdOrNameOrCode(@Param("company") YxProCompany company);

    /**
     * @param company todo
     * @return int
     * @apiNote addCompany
     */
    int addCompany(YxProCompany company);

    /**
     * @param company todo
     * @return int
     * @apiNote updateCompany
     */
    int updateCompany(YxProCompany company);

    /**
     * @param map todo
     * @return int
     * @apiNote deleteCompany
     */
    int deleteCompany(HashMap<String, Object> map);

    /**
     * @param map todo
     * @return java.util.HashMap<java.lang.String, java.lang.Object>
     * @apiNote getIsDeleteListByPage
     */
    HashMap<String, Object> getIsDeleteListByPage(HashMap<String, String> map);

    /**
     * @param map todo
     * @return java.lang.Integer
     * @apiNote enableCompany
     */
    Integer enableCompany(HashMap<String, Object> map);

    /**
     * @param map todo
     * @return java.util.List<com.yixun.lbx.entity.YxProCompany>
     * @apiNote getSearchListByPage
     */
    List<YxProCompany> getSearchListByPage(HashMap<String, String> map);
    
    List<DiQu> getChildDiquListByDq3Name(String area);
}
